import os
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Map

# 数据目录
data_dir = '/root/eduhq/result/ads_user_pro/'
# 背景图片
background_image = '/root/eduhq/images/img_1.png'
# 输出图表存放地址
output_path = '/root/eduhq/html/不同省份用户访问量分布图.html'

# 读取用户访问量数据
# 假设数据是以省份为索引的一维数组，或你可以根据实际数据格式调整
data_file = os.path.join(data_dir, 'user_access_data.csv')  # 替换为你的数据文件
data = pd.read_csv(data_file)

# 假设数据文件中有两个列：'Province' 和 'AccessCount'
province_data = data[['Province', 'AccessCount']].values.tolist()

# 创建地图
map_chart = (
    Map()
    .add("用户访问量", province_data, "china")
    .set_global_opts(
        title_opts=opts.TitleOpts(title="不同省份用户访问量分布图"),
        visualmap_opts=opts.VisualMapOpts(max_=max(data['AccessCount']), is_piecewise=True),
    )
)

# 设置背景图片
map_chart.render_background_img(background_image)

# 生成图表
map_chart.render(output_path)

print(f"图表已生成并保存到: {output_path}")
